package com.javaIO.demo;

import java.io.File;
import java.io.IOException;

public class Test1 {
    public static void main(String[] args) {

        //在D:\SoftDevelopment\Java文件下创建demo.java文件----f1.createNewFile()
        File f1 = new File("D:\\SoftDevelopment\\Java\\file\\demo.java");
        try {
            System.out.println(f1.createNewFile());
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        //创建文件夹   --------f2.mkdir()，demo文件夹之前的文件夹必须存在
        File f2 = new File("D:\\SoftDevelopment\\Java\\file");
        System.out.println(f2.mkdir());

        //创建文件夹 ---------f3.mkdirs()   由于demo1文件夹不存在，因此先创建demo1文件夹，在创建day1
        //f2.mkdir()方法不适用，会直接返回false
        File f3 = new File("D:\\SoftDevelopment\\Java\\file\\demo1\\day1");
        System.out.println(f3.mkdirs());
        System.out.println("---------------------");

        /**
         * 判断方法
         */
        File f4 = new File("D:\\SoftDevelopment\\Java\\file\\demo.java");
        System.out.println("是否为文件夹 " + f4.isDirectory());
        System.out.println("是否为文件 " + f4.isFile());
        System.out.println("是否存在：" + f4.exists());
        System.out.println("---------------------");

        /**
         * 获取方法
         */
        File f5 = new File("D:\\SoftDevelopment\\Java\\file\\demo.java");
        System.out.println("绝对路径：" + f5.getAbsolutePath());
        System.out.println("抽象路径名转换路径名字符串 " + f5.getPath());
        System.out.println("文件或文件夹名称：" + f5.getName());
        System.out.println("文件或文件夹名称：" + f3.getName());

        System.out.println("文件夹下的文件名列表");
        String[] list = f2.list();
        if (list != null) {
            for (String s : list) {
                System.out.println(s);
            }
        }

        System.out.println("文件夹下的文件列表");
        File[] files = f2.listFiles();
        if (files != null) {
            for (File s : files) {
                System.out.println(s);
            }
        }
        System.out.println("---------------------");

        /**
         *删除
         * 删除文件路径，直接删除
         * 删除文件夹路径，先删除文件夹里文件，再删除文件夹
         */
        boolean delete = f5.delete();
        System.out.println(delete);

    }
}
